package reesoft.idgenerator.service.idstore;

import reesoft.idgenerator.IdGenerateException;

/**
 * 序号存储公用基类
 *
 * Created by reesoft on 2017-08-28
 */
public abstract class BaseIdStore implements IdStore
{
    /**
     * 序号的最大值
     */
    private long maxValue = DEFAULT_MAX_VALUE;

    public long getMaxValue()
    {
        return maxValue;
    }

    public void setMaxValue(long maxValue)
    {
        this.maxValue = maxValue;
    }

    /**
     * 用缺省的初始值和最大值初始化序号存储空间
     * 如果序号不存在，初始化为 DEFAULT_INIT_VALUE(1)；序号已存在则不做任何操作
     *
     * @param name 序号的名称
     * @throws IdGenerateException
     */
    @Override
    public void init(String name) throws IdGenerateException
    {
        init(name, DEFAULT_INIT_VALUE, DEFAULT_MAX_VALUE);
    }
}
